home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Softdisk Supreme
/
Softdisk Supreme.iso
/
pc
/
DSK Files
/
0-49
/
SD018b.dsk
/
MULTIPLICATION FLASH CARDS.bas
< prev
next >
Wrap
BASIC Source File
|
2003-06-12
|
5KB
|
181 lines
5 REM MULTIPLICATION
10 REM FLASH CARDS
15 REM COMPLETED 1982
20 REM BY MIKE HIBBS
25 REM FOR THE IBSSS
30 REM VINTON, IOWA 52349
35 REM A VERSION USING THE
40 REM VOTRAX SPEECH
45 REM SYNTHESIZER
50 REM IS BEING MADE
55 REM **********************
60 REM
100 D$ = CHR$(4): REM CTRL-D
110 PRINT D$"NOMON C,I,O"
120 F$ = "FLASH CARDS"
130 TEXT : HOME
140 GOTO 950
150 REM
160 GOSUB 890
170 HOME : VTAB 10
180 PRINT D$"OPEN"F$
190 PRINT D$"DELETE"F$
200 R = 0
210 PRINT D$
220 DIM P(9,9)
230 FOR I = 1 TO 9
240 FOR J = 1 TO 9
250 P(I,J) = I *J
260 NEXT J,I
270 :
280 I = INT( RND(1) *9 +1):J = INT( RND(1) *9 +1)
290 IF P(I,J) = 0 THEN 280
293 INVERSE : PRINT " PRESS SPACE BAR FOR PROBLEM! ";: GET A$: NORMAL : HOME
295 VTAB 10: PRINT " #";N +1
300 VTAB 12
310 INVERSE : PRINT "WHAT IS "I" X "J" EQUAL TO?": NORMAL :
330 VTAB 12: HTAB 25: GOSUB 1450
335 PRINT
340 AN = W5
350 IF B$ = "" THEN GOTO 430
360 IF B = 13 THEN GOTO 380
370 IF Z = 1000 THEN GOTO 430
380 REM
390 IF AN = J *I THEN GOSUB 810: GOSUB 810: GOSUB 810: VTAB 21: HTAB 6: FLASH : PRINT " CORRECT...CORRECT...CORRECT "
400 NORMAL
410 IF AN < >J *I THEN GOSUB 850: VTAB 20: INVERSE : PRINT " NOT CORRECT! THE ANSWER IS...";: NORMAL : PRINT " ";J *I
420 GOTO 470
430 VTAB 21: INVERSE : PRINT "SORRY! YOU WERE NOT FAST ENOUGH "
440 PRINT
450 POKE 0,40: POKE 1,150: CALL 771
460 PRINT " THE ANSWER IS...";: NORMAL : PRINT " ";J *I
470 FOR PAUSE = 1 TO 2000: NEXT PAUSE
480 HOME
490 IF AN < >I *J AND R > = 1 THEN GOSUB 710
500 IF AN < >I *J AND R = 0 THEN GOSUB 610
510 P(I,J) = 0
520 N = N +1: IF N = N1 THEN GOTO 560
530 PRINT : PRINT
540 GOTO 280
550 :
560 PRINT D$"CLOSE"F$
570 PRINT D$
580 HOME : VTAB 10: IF R = 0 OR R = >1 THEN PRINT " YOU MISSED "R" PROBLEMS!"
585 IF R = 1 THEN PRINT " YOU MISSED "R" PROBLEM!"
590 FOR PA = 1 TO 2000: NEXT PA: POKE 34,0: HOME : END
600 :
610 REM TO SAVE MISSED PROBLEMS
620 R = 1
630 D$ = CHR$(4)
640 P = P(I,J)
650 PRINT D$"OPEN"F$
660 PRINT D$"WRITE"F$
670 PRINT R","I","J","P
680 PRINT D$
690 RETURN
700 :
710 REM TO APPEND MISSED PROBLEMS
720 R = R +1
730 P = P(I,J)
740 D$ = CHR$(4)
750 PRINT D$"APPEND"F$
760 PRINT D$"WRITE"F$
770 PRINT R","I","J","P
780 PRINT D$
790 RETURN
800 :
810 REM RANDOM "BLIP"
820 POKE 0, RND(1) *50 +50: POKE 1,8: CALL 771
830 RETURN
840 :
850 REM RASBERRY
860 FOR T = 1 TO 50:D = PEEK( -16336): NEXT
870 RETURN
880 :
890 REM SET UP MUSIC
900 POKE 771,173: POKE 772,48: POKE 773,192: POKE 774,136: POKE 775,208: POKE 776,4: POKE 777,198: POKE 778,1: POKE 779,240:
910 POKE 780,8: POKE 781,202: POKE 782,208: POKE 783,246: POKE 784,166: POKE 785,0: POKE 786,76: POKE 787,3: POKE 788,3:
920 POKE 789,96:
930 RETURN
940 :
950 REM INSTRUCTIONS
960 VTAB 5
970 HTAB 2
980 INVERSE : PRINT " PLEASE GIVE ME YOUR NAME? ";: NORMAL
990 INPUT " ";NA$
1000 IF NA$ = "" THEN GOTO 960
1010 F$ = F$ +" * " +NA$
1020 HOME : VTAB 8
1030 PRINT "GOOD ";NA$;".";
1040 PRINT " THIS PROGRAM CHECKS"
1050 PRINT
1060 PRINT "TO SEE..."
1070 PRINT
1080 PRINT "IF YOU KNOW YOUR MULTIPLICATION FACTS."
1090 PRINT
1100 PRINT "MULTIPLICATION FACTS THAT YOU DO NOT "
1110 PRINT
1120 PRINT "KNOW WILL BE SAVED TO THE DISK!"
1130 PRINT : PRINT
1140 PRINT "GOOD LUCK! ";NA$
1150 FOR PAUSE = 1 TO 6000: NEXT PA
1160 GOSUB 1270
1170 HOME : REM TITLE
1180 VTAB 2: HTAB 8
1190 PRINT "M U L T I P L I C A T I O N"
1200 PRINT
1210 PRINT
1220 HTAB 11
1230 PRINT "F L A S H C A R D S"
1240 POKE 34,8
1250 GOTO 150
1260 REM PICK SPEED OF INPUT
1270 HOME
1280 VTAB 19: HTAB 4
1290 INVERSE
1300 PRINT "SLOW, MEDIUM, OR FAST RESPONSE?"
1310 NORMAL
1320 VTAB 21
1330 HTAB 3
1340 PRINT " 1, 2, 3 ";
1350 GET SP$
1360 HOME
1370 SP = VAL(SP$)
1380 IF SP <1 OR SP >3 THEN PRINT "<CTRL-G><CTRL-G>": GOTO 1280
1390 T5 = 400 - VAL(SP$) *70
1400 HOME
1402 VTAB 10: PRINT "HOW MANY PROBLEMS DO YOU WANT TO TRY ?"
1404 GET N1
1410 RETURN
1420 :
1430 REM HANDLES TIMED INPUT
1440 REM
1450 I2 = 1:B$ = "": POKE -16368,0
1460 Z = 0
1470 I2 = I2 +1
1480 IF I2 >T5 THEN Z = 1000: GOTO 1550
1490 B = PEEK( -16384)
1500 IF B < = 127 THEN GOTO 1470
1510 POKE -16368,0:B = B -128
1520 IF (B <48 OR B >57) AND B < >8 AND B < >13 AND B < >45 THEN GOTO 1470
1530 IF B < >13 THEN 1590
1540 IF B$ = "" THEN 1470
1550 RETURN
1560 :
1570 REM COMPILES INPUT
1580 REM
1590 IF B$ = "" AND B = 8 THEN GOTO 1470
1600 IF B = 8 THEN 1670
1610 IF B = 45 AND B$ < >"" THEN 1470
1620 B$ = B$ + CHR$(B)
1630 IF LEN(B$) = 6 THEN B$ = LEFT$(B$,5): PRINT "<CTRL-G>": GOTO 1470
1640 VTAB 12: HTAB 25: PRINT " "
1650 VTAB 12: HTAB 25: PRINT B$
1660 W5 = VAL(B$): GOTO 1470
1670 IF LEN(B$) = 1 THEN B$ = "": VTAB 12: HTAB 25: PRINT " ": GOTO 1470
1680 W5 = VAL( LEFT$(B$, LEN(B$) -1))
1690 B$ = LEFT$(B$, LEN(B$) -1)
1700 VTAB 12: HTAB 25: PRINT " "
1710 VTAB 12: HTAB 25: PRINT B$
1720 GOTO 1470
1730 :